#ifndef CUPGRADESTATE_H_
#define CUPGRADESTATE_H_

#include "IGameState.h"
#include "CBitmapFonts.h"
#include "CPlayer.h"
#include "SGD Wrappers/CSGD_TextureManager.h"
class CUpgradeState : public IGameState
{
private:
	CPlayer m_Player;
	CBitmapFonts m_pBMFonts;

	int m_nIndex;
	int m_nSwordComboIndex;
	int m_nSpearComboIndex;
	int m_nGauntletComboIndex;

	bool  m_bTab;
	bool m_bSwordCombo[ 4 ];
	bool m_bSpearCombo[ 4 ];
	bool m_bGauntletCombo[ 4 ];
	
	float m_fSlowTimer;

	CUpgradeState( void )
	{
		m_pBMFonts.SetImageID(CSGD_TextureManager::GetInstance()->LoadTexture("resources/graphics/AnG_bitmapfont.png", D3DXCOLOR(0,255,0,255)));
		m_pBMFonts.SetCharWidth(8);
		m_pBMFonts.SetCharHeight(9);
		m_pBMFonts.SetCol(16);
		m_pBMFonts.SetStartChar('@');
		m_nIndex = 0;
		m_nSwordComboIndex = 0;
		m_nSpearComboIndex = 0;
		m_nGauntletComboIndex = 0;
		m_bTab = false;
		m_fSlowTimer = 0.0f;

		for( int i = 0 ; i < 4 ; ++i )
		{
			m_bSwordCombo[ i ] = false;
			m_bSpearCombo[ i ] = false;
			m_bGauntletCombo[ i ] = false;
		}
	}
	CUpgradeState( const CUpgradeState& );
	CUpgradeState& operator=( const CUpgradeState& );
	~CUpgradeState( void ){}
public:
	static CUpgradeState* GetInstance( void );
	void Enter(void); 
	bool Input(void);
	void Update(float fElapsedTime);
	void Render(void);
	void Exit(void);
	void SwitchTabs( void );

};
#endif